package com.course02.order_backend.mapper.LXY;
import com.course02.order_backend.entity.LXY.Role;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 操作角色的类
 * @author wozhe
 */
@Mapper
public interface RoleMapper {

    /**
     * 批量查询角色信息，一个用户可能有多个角色
     * @Param roleId 角色id列表
     * @return  角色列表
     */
    List<Role> batchGetRolesByRoleId( List<Long> id);

    /**
     * 根据角色编码查询角色（如 ROLE_ADMIN）
     */
    Role selectByRoleCode(@Param("roleCode") String roleCode);

    /**
     * 查询所有角色列表
     */
    List<Role> selectAll();

    /**
     * 模糊查询：根据角色名称或编码查询
     */
    List<Role> selectByCondition(@Param("keyword") String keyword);

    /**
     * 插入新角色
     */
    int insert(Role role);

    /**
     * 更新角色（不更新 create_time）
     */
    int update(Role role);

    /**
     * 根据ID删除角色
     */
    int deleteById(@Param("id") Long id);
}
